博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容
阅读量:7006 次
发布时间:2019-06-27

本文共 2520 字,大约阅读时间需要 8 分钟。

① 读取文件夹大小

a. 封装计算文件夹大小的函数

b.  打开文件夹

c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小;如果是文件夹,则递归调用该函数

 

注意两个问题:

a. 在计算每个文件夹大小之前,应该清空变量 $size,否则文件夹大小会累加(index.php)

 

b. 在计算文件夹大小的方法中,$size 应该设置为全局变量(dir.func.php)

//得到文件夹大小function dirSize($path){    $handle = opendir($path);    $size = 0;    //static $size;    global $size;    while(($item = readdir($handle)) !== false){        if($item != '.' && $item != '..'){            if(is_file($path.'/'.$item)){                $size += filesize($path.'/'.$item);            }else if(is_dir($path.'/'.$item)){                dirSize($path.'/'.$item);                //递归的另一种写法                //$func = __FUNCTION__;                //$func($path.'/'.$item);            }        }    }    closedir($handle);    return $size;}

 

index.php:

{$content}"; //高亮显示PHP代码 //高亮显示字符串中的PHP代码 if(strlen($content)){ $newContent=highlight_string($content,true); //高亮显示文件中的PHP代码 //highlight_file($filename); $str=<<
$newContent
EOF; echo $str; }else{ alertMes("文件没有内容,请编辑再查看!",$redirect); }}else if($act == 'editContent'){ $content = file_get_contents($filename); $str=<<
EOF; echo $str; }else if($act == 'doEdit'){ //修改文件内容 $content = $_POST['content']; if(file_put_contents($filename, $content)){ $mes = '文件修改成功'; }else if(!$content){ $mes = '文件内容被清空'; }else{ $mes = '文件修改失败'; } alertMes($mes,$redirect);}else if($act == 'renameFile'){ //重命名文件 $str = <<
请填写新文件名:
EOF;echo $str;}else if($act == 'doRename'){ //实现重命名操作 $newname = $_POST['newname']; $mes = renameFile($filename,$newname); alertMes($mes,$redirect);}else if($act == 'delFile'){ $mes = delFile($filename); alertMes($mes,$redirect);}else if($act == 'downFile'){ downFile($filename);}?>
Insert title here

在线文件管理器

编号 名称 类型 大小 可读 可写 可执行 创建时间 修改时间 访问时间 操作
View Code

dir.func.php:

View Code

 

转载地址:http://fputl.baihongyu.com/

你可能感兴趣的文章
idea下gradle打包
查看>>
Handbook of Constraints Programming——Chapter3 Constraint Propagation-Background
查看>>
安卓开发入门-与java关系
查看>>
“外部串扰”——IDC机房的威胁
查看>>
我的友情链接
查看>>
【JAVA实例】代码生成器的原理讲解以及实际使用
查看>>
json转成实体bean,并解析出多层次属性信息
查看>>
jenkins邮件配置
查看>>
android 常出现的错误及注意点总结
查看>>
Java基础学习总结(20)——基础语法
查看>>
一个案例,三个角色,简单说下B端产品的权限设计
查看>>
Java基础学习总结(14)——Java对象的序列化和反序列化
查看>>
Java8 十大新特性详解
查看>>
RHEL7修改root密码
查看>>
mysql8.0.11安装、启动与基本设置
查看>>
大型网站技术架构(五)网站高可用架构
查看>>
Yum编译安装Error Downloading Packages报错
查看>>
Linux创建分区开机自动挂载
查看>>
碧生源牌常润茶 商品库存调整
查看>>
求两个字符串的最长公共子字符串
查看>>